package com.itheima.d8_threaddemo;
/**
 * 步骤：1.创建100个线程,模拟100名员工来抢红包
 *        创建一个MyRunnalble的实现类 实现线程任务 重写run方法
 *        run方法中 进行抢红包
 *     2.准备200个红包 存储到集合中 String类型
 *       其中 40个 大红包 [31-100]元
 *          160个 小红包 [1-30]元
 *       全部添加到集合中
 *    3.run方法中，共享同一个红包雨 锁对象锁住
 *      4.启动100个线程，模拟100名员工来抢红包
 */

import java.util.ArrayList;

/**
 * 线程任务类
 */
public class MyRunnable implements Runnable{
    private ArrayList<String> list;
    public MyRunnable(ArrayList<String>  list){
        this.list = list;
    }
    @Override
    public void run() {
        //100 名员工模拟抢红包
        while (true){
            synchronized (this){
                if (list.size() > 0){
                    String money = list.remove(0);
                    System.out.println(
                            Thread.currentThread().getName()
                                    + "抢到红包：" + money);

                }else {
                    break;
                }
            }
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }

    }
}
